One version of the high definition DVD (HD-DVD) standard has a method for recording button data streams on a DVD. Button data is information that describes the location, shape and color of a button. Buttons can also include navigation information and are often used to represent various options that can be executed. Buttons are typically used in the opening menu of a movie to represent items like “play movie”, “director notes”, etc. A user can select a button after the user selects a key, such as the “left” key with a remote control (or through a keypad located on the DVD player). The navigation information on a screen can indicate which button was selected with highlighting or some other system.
Referring to FIG. 1, a conceptual diagram illustrating an example of a button configuration presented to a user through a visual display is shown. The button configuration 20 includes a play button 22, a special feature button 24, an audio setup button 26, a commentary button 28 and a language button 30.
Conventional approaches for describing button data involve recording independent compressed bit-maps for each button. In particular, the proposed HD-DVD standard records twenty four independent compressed bit-maps for twenty four buttons. Each compressed bit-map covers an entire output (i.e., 1920×1080).
Referring to FIG. 2, a conventional system for decoding button data streams is shown. The system 50 comprises a disc 52, a button decoder 56, and a composite video circuit 60. The disc 52 stores button data (not shown) for each button. The disc 52 transfers the button data into button data streams 54a-54n. Twenty-four button data streams are transmitted if twenty four buttons are used. The button decoder 56 decodes each of the button data streams 54a-54n. The button decoder 56 transmits on screen display (OSD) messages 60a-60n to the composite video 62 in response to decoding the button data streams 54a-54n. Each OSD message 60a-60n corresponds to a particular button data stream 54a-54n. A user will view the button through the composite video circuit 60, which is typically connected to a monitor.
Conventional approaches are expensive and have difficulty decoding individual button data streams. Conventional approaches composite each button data stream in real time and onto a video when the video is being displayed. Conventional approaches (i) maintain state information for each of the button data streams (ii) establish a buffer for each of the button data streams and (iii) maintain a direct memory access (DMA) channel for each button data stream and (iv) implement a hardware implementation that composites each button data stream in real time.
It would be desirable to provide a method and/or apparatus to reduce the number of button data streams in real time by combining the button data into a multiplexed button data stream.